Consistency এবং Isolation Levels

Database Tutorials - ডকুমেন্ট ডিবি (DocumentDB) Transactions এবং ACID Properties |
259
259

Consistency এবং Isolation Levels হল ডেটাবেস সিস্টেমের দুটি গুরুত্বপূর্ণ ধারণা, যা ACID (Atomicity, Consistency, Isolation, Durability) প্রিন্সিপালের একটি অংশ। এই দুটি বৈশিষ্ট্য ডেটাবেসের ট্রানজাকশন পরিচালনা এবং একাধিক ব্যবহারকারীর অ্যাক্সেসের মধ্যে ডেটার সঠিকতা এবং নির্ভরযোগ্যতা নিশ্চিত করতে সাহায্য করে।


Consistency

Consistency (সামঞ্জস্যতা) হল সেই গ্যারান্টি যা একটি ট্রানজাকশনের পরবর্তী অবস্থা নিশ্চিত করে যে ডেটাবেস কোনও অকার্যকর অবস্থায় চলে না এবং এটি শুধুমাত্র বৈধ ডেটা ধারণ করবে। এর মানে হল যে, এক বা একাধিক ট্রানজাকশন সম্পন্ন হলে, ডেটাবেসের অবস্থা অবশ্যই পূর্বের নিয়মাবলী বা রুলসের সঙ্গে সঙ্গতিপূর্ণ থাকবে।

  • Consistency একটি ট্রানজাকশনের শেষের অবস্থাকে নিশ্চিত করে যে এটি একটি বৈধ এবং সঠিক ডেটা স্টেট তৈরি করবে, যেখানেও কোনো অবৈধ বা অসম্পূর্ণ ডেটা থাকবে না।
  • এটি নিশ্চিত করে যে ট্রানজাকশন শুরু হওয়ার পূর্বে এবং পরে ডেটাবেসে কোনও ত্রুটি বা অস্থিরতা (inconsistency) নেই।

Consistency এর উদাহরণ:

ধরা যাক একটি ব্যাংক অ্যাকাউন্টের ডেবিট এবং ক্রেডিট অপারেশন সম্পাদন করা হচ্ছে। যদি কোনও অ্যাকাউন্টে $100 ডিপোজিট করা হয়, তাহলে পরবর্তী ট্রানজাকশনে সেই অ্যাকাউন্টের ব্যালান্স অবশ্যই $100 বা তার বেশি হবে, কম নয়। এর মানে, আপনি ডেটাবেসে অপর্যাপ্ত বা অসম্পূর্ণ ডেটা পাবেন না।


Isolation Levels

Isolation (অংশ বিচ্ছিন্নতা) নির্ধারণ করে যে একাধিক ট্রানজাকশন যখন একই সময়ে চলে, তখন তাদের মধ্যে কোনও একে অপরের সাথে পারস্পরিক প্রভাব পড়বে কি না। বিভিন্ন isolation levels ট্রানজাকশনগুলির মধ্যে এই পারস্পরিক প্রভাবের মাত্রা নিয়ন্ত্রণ করে।

অর্থাৎ, Isolation Level হল একটি ট্রানজাকশনকে অন্য ট্রানজাকশনের প্রভাব থেকে কতটুকু পৃথক রাখবে।

ডেটাবেসের isolation levels সাধারণত চারটি প্রধান ধরনের হয়:

1. Read Uncommitted

  • এই isolation level এ, এক ট্রানজাকশনের মধ্যে যে ডেটা পড়া হচ্ছে তা অন্য ট্রানজাকশনের মধ্যে সম্পাদিত (committed) না হওয়া পর্যন্ত নিশ্চিত নয়। অর্থাৎ, অন্য ট্রানজাকশনের অকমিটেড ডেটাও আপনি পড়তে পারবেন।
  • Dirty Read হতে পারে, অর্থাৎ আপনি এমন ডেটা পড়তে পারেন যা পরে রোলব্যাক হতে পারে।

2. Read Committed

  • এই isolation level এ, একটি ট্রানজাকশন শুধুমাত্র এমন ডেটা পড়বে যা অন্য ট্রানজাকশনের মাধ্যমে commit করা হয়েছে।
  • এতে Dirty Reads বন্ধ হয়, তবে Non-repeatable Reads হতে পারে, অর্থাৎ এক ট্রানজাকশন যখন একই ডেটা দুইবার পড়ে, তখন সেই ডেটা পরিবর্তন হতে পারে যদি অন্য কোনও ট্রানজাকশন এটিকে আপডেট করে।

3. Repeatable Read

  • এই isolation level এ, এক ট্রানজাকশন একবার একটি ডেটা পড়লে, পরবর্তী সময়ে সেই ডেটার মান পরিবর্তন হওয়া থেকে রক্ষা পায়। এটি Non-repeatable Reads বন্ধ করে দেয়।
  • তবে Phantom Reads হতে পারে, যেখানে একটি কুয়েরি যখন ডেটা পুনরায় পড়ে, তখন নতুন রেকর্ড যুক্ত হতে পারে বা মুছে যেতে পারে।

4. Serializable

  • এই isolation level সর্বোচ্চ স্তরের isolation প্রদান করে। এর মাধ্যমে, একাধিক ট্রানজাকশনকে একে অপরের মতো আচরণ করতে বাধ্য করা হয় যেন তারা একে অপরের কার্যক্রমের প্রভাব না ফেলে।
  • Serializable isolation level এ Dirty Reads, Non-repeatable Reads, এবং Phantom Reads সবই বন্ধ থাকে। এটি একটি ক্রিটিকাল সিস্টেমে ব্যবহারের জন্য উপযুক্ত যেখানে ডেটা সঠিকতা গুরুত্বপূর্ণ।

Consistency vs. Isolation

  • Consistency নিশ্চিত করে যে একটি ট্রানজাকশনের শেষে ডেটাবেসটি অবশ্যই একটি সঠিক অবস্থানে থাকবে। এটি সাধারণত ডেটার বৈধতা এবং সঠিকতা বজায় রাখে।
  • Isolation নিশ্চিত করে যে একাধিক ট্রানজাকশন একে অপরের প্রভাব থেকে পৃথক থাকে, অর্থাৎ তারা একে অপরকে জানার বা প্রভাবিত করার ক্ষমতা রাখে না।

DocumentDB তে Consistency এবং Isolation

DocumentDB MongoDB-র মতো eventual consistency সমর্থন করে, অর্থাৎ যখন কোনও পরিবর্তন হয়, তখন এটি সমস্ত রিপ্লিকা এবং ক্লাস্টারে সমানভাবে পৌঁছাবে না যতক্ষণ না সময় পায়।

DocumentDB Read Committed isolation level সমর্থন করে, যা নিশ্চিত করে যে dirty reads থেকে রক্ষা পাবে, তবে non-repeatable reads এখনও ঘটতে পারে।


সারাংশ

Consistency এবং Isolation Levels হল ডেটাবেস ট্রানজাকশনের একটি গুরুত্বপূর্ণ অংশ, যা ডেটার সঠিকতা, নির্ভরযোগ্যতা এবং একাধিক ট্রানজাকশনের মধ্যে সঠিক বিচ্ছিন্নতা নিশ্চিত করে। MongoDB বা DocumentDB তে বিভিন্ন isolation levels দ্বারা এই নির্ভরযোগ্যতা এবং বিচ্ছিন্নতা নিশ্চিত করা হয়, যেখানে Serializable isolation level সর্বোচ্চ সুরক্ষা এবং নির্ভরযোগ্যতা প্রদান করে।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion